Modeling Systems in CLP with Coinductive Tabling

نویسندگان

  • JOXAN JAFFAR
  • ANDREW E. SANTOSA
  • RĂZVAN VOICU
چکیده

We present a methodology for the modelling of complex program behavior in CLP. The first part of this paper is an informal description about how to represent a system in CLP. At its basic level, this representation captures the precise trace semantics of concurrent programs, or even high-level specifications, in the form of a predicate transformer. Based on traces, the method can also capture properties of the underlying runtime system such as the scheduler and the microarchitecture, so as to provide a foundation for reasoning about resources such as time and space. The second part of this paper presents a formal and compositional proof method for reasoning about safety properties of the underlying system. The idea is that a safety property is simply a CLP goal, and is proof established by executing the goal by a CLP interpreter. However, a traditional CLP interpreter does not suffice. We thus introduce a technique of coinductive tabling to CLP. Essentially, this extends CLP so that it can inductively use proof obligations that are assumed but not yet proven, and it can generate new proof obligations assertions dynamically.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Modeling Systems in CLP

We present a methodology for the modeling of complex program behavior in CLP. In the first part we present an informal description about how to represent a system in CLP. At its basic level, this representation captures the trace semantics of concurrent programs, or even high-level specifications, in the form of a predicate transformer. Based on traces, the method can also capture properties of...

متن کامل

A CLP Method for Compositional and Intermittent Predicate Abstraction

We present an implementation of symbolic reachability analysis with the features of compositionality, and intermittent abstraction, in the sense of pefrorming approximation only at selected program points, if at all. The key advantages of compositionality are well known, while those of intermittent abstraction are that the abstract domain required to ensure convergence of the algorithm can be m...

متن کامل

Verifying Complex Continuous Real-Time Systems with Coinductive CLP(R)

Timed automata has been used as a powerful formalism for specifying, designing, and analyzing real time systems. We consider the generalization of timed automata to Pushdown Timed Automata (PTA). We show how PTAs can be elegantly modeled via logic programming extended with coinduction and constraints over reals. We use this logic programming realization of a PTA to develop an elegant solution t...

متن کامل

Tabling, Rational Terms, and Coinduction Finally Together!

Tabling is a commonly used technique in logic programming for avoiding cyclic behavior of logic programs and enabling more declarative program de nitions. Furthermore, tabling often improves computational performance. Rational term are terms with one or more in nite subterms but with a nite representation. Rational terms can be generated in Prolog by omitting the occurs check when unifying two ...

متن کامل

Abstract compilation of object-oriented languages into coinductive CLP(X): when type inference meets verification

compilation of object-oriented languages into coinductive CLP(X): when type inference meets verification Davide Ancona, Andrea Corradi, Giovanni Lagorio, and Ferruccio Damiani 1 DISI, University of Genova, Italy {davide,lagorio}@disi.unige.it,[email protected] 2 Dipartimento di Informatica, University of Torino, Italy

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005